package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JButton;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class game1 extends JFrame {

	private JPanel contentPane;
	private JScrollPane scrollPane;
	private JTextArea result;
	private JButton btnNewButton;
	private JButton button;
	private JButton button_1;
	private JButton btnNewButton_1;

	String user = "";
	int su;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					game1 frame = new game1();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public game1() {

		setTitle("가위바위보");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 317);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		contentPane.add(getScrollPane());
		contentPane.add(getBtnNewButton());
		contentPane.add(getButton());
		contentPane.add(getButton_1());
		contentPane.add(getBtnNewButton_1());
	}

	private JScrollPane getScrollPane() {
		if (scrollPane == null) {
			scrollPane = new JScrollPane();
			scrollPane.setBounds(12, 10, 410, 157);
			scrollPane.setViewportView(getResult());
		}
		return scrollPane;
	}

	private JTextArea getResult() {
		if (result == null) {
			result = new JTextArea();
		}
		return result;
	}

	private JButton getBtnNewButton() {
		if (btnNewButton == null) {
			btnNewButton = new JButton("가위");
			btnNewButton.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {

					String com;

					su = (int) (Math.random() * 3); // 0~2까지 중 랜덤 수 추출

					switch (su) {
					case 0:
						com = "가위";
						break; // su가 0이면 컴퓨터가 가위를 낸 것으로 한다.
					case 1:
						com = "바위";
						break; // su가 1이면 컴퓨터가 바위를 낸 것으로 한다.
					default:
						com = "보";
						break; // 기본적으로 컴퓨터가 보를 낸 것으로 한다.
					}

					user = "가위"; // 유저가 가위를 낸 경우

					if (com.equals("보")) {
						result.append("\n가위를 내다니! 당신이 이겼습니다.");
					} else if (com.equals("가위")) {
						result.append("\n비겼군요. 다시 도전해주세요.");
					} else {
						result.append("\n제가 졌습니다..");
					}
				}

			});
			btnNewButton.setBounds(12, 177, 97, 23);
		}
		return btnNewButton;
	}

	private JButton getButton() {
		if (button == null) {
			button = new JButton("바위");
			button.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					String com;
					su = (int) (Math.random() * 3);
					switch (su) {
					case 0:
						com = "가위";// su가 0이면 컴퓨터가 가위를 낸 것으로 한다.
						break;
					case 1:
						com = "바위";// su가 1이면 컴퓨터가 바위를 낸 것으로 한다.
						break;
					default:
						com = "보";// 기본적으로 컴퓨터가 보를 낸 것으로 한다.
						break;
					}

					user = "바위"; // 유저가 바위를 낸 경우

					if (com.equals("가위")) {
						result.append("\n바위를 내다니! 당신이 이겼습니다.");
					} else if (com.equals("바위")) {
						result.append("\n비겼군요. 다시 도전해주세요.");
					} else {
						result.append("\n제가 졌습니다..");
					}
				}
			});
			button.setBounds(12, 210, 97, 23);
		}
		return button;
	}

	private JButton getButton_1() {
		if (button_1 == null) {
			button_1 = new JButton("보");
			button_1.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					String com;
					su = (int) (Math.random() * 3);
					switch (su) {
					case 0:
						com = "가위";
						break;
					case 1:
						com = "바위";
						break;
					default:
						com = "보";
						break;
					}

					user = "보"; // 유저가 보를 낸 경우

					if (com.equals("바위")) {
						result.append("\n보를 내다니! 당신이 이겼습니다.");
					} else if (com.equals("보")) {
						result.append("\n비겼군요. 다시 도전해주세요.");
					} else {
						result.append("\n제가 졌습니다..");
					}
				}
			});
			button_1.setBounds(12, 243, 97, 23);
		}
		return button_1;
	}

	private JButton getBtnNewButton_1() {
		if (btnNewButton_1 == null) {
			btnNewButton_1 = new JButton("reset");
			btnNewButton_1.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					result.setText("");
				}
			});
			btnNewButton_1.setBounds(121, 177, 301, 89);
		}
		return btnNewButton_1;
	}
}
